Ein Zustand ist ein Wert, den ein Block zwischen Zeitschritten speichert.
f-Block – kein Zustand: berechnet direkt aus dem Eingang.
Integrator – Zustand :
Der Solver treibt die for-Schleife an und übernimmt die Zeitinkrementierung .
Einstellbar: Euler (festes ), ode45 (adaptives ), …
Euler-Schritt mit :
Eine Akkumulationszeile → ein Integrator:
Symbol in Simulink: (Laplace-Notation: Integration im Zeitbereich = Division durch )
Scope – zeigt Signale als Funktion der Zeit an.
Mux – fasst mehrere Signale zu einem Vektorsignal zusammen:
Scope mit einem Mux-Eingang → mehrere Kurven in einem Fenster.
Alternativ: Scope mit mehreren Eingängen direkt konfigurieren (Number of Input Ports).
Implementieren Sie das Batterie-Modell in Simulink. , , , , .
function T_dot = f(T)Extraaufgabe: Ersetzen Sie durch ein gemessenes Lastprofil : From Workspace-Block hinzufügen, als zweiten Eingang in f(T, P) führen.
lässt sich direkt als Signalflussplan aus Elementarblöcken aufbauen:
| Block | Funktion |
|---|---|
| Constant | liefert einen festen Wert (, , , ) |
| Gain | multipliziert ein Signal mit einer Konstanten |
| Sum | addiert oder subtrahiert Signale |
Der Matlab Function-Block ist kompakter — aber Elementarblöcke machen die Rechenoperationen explizit sichtbar und sind direkt für die Codegenerierung geeignet.
Ein Subsystem fasst Blöcke zu einem wiederverwendbaren Block zusammen.
Das Batterie-Modell aus der Aufgabe wird zum Subsystem „Zelle":
Zwei thermisch gekoppelte Zellen (Einheit 9) → zwei Subsysteme verbinden.
Komplexe Systeme entstehen durch Komposition — jede Ebene zeigt nur den notwendigen Abstraktionsgrad.
Industrieapplikation: Ein Simulink-Modell kann direkt in C-Code übersetzt werden (Codegenerierung) — dieselbe Logik, die im Modell läuft, läuft dann auf eingebetteter Hardware.
Parameter aus dem Workspace: Variablen wie , im Matlab-Workspace definieren — Simulink-Blöcke lesen sie automatisch. Kein Hardcoding in der Matlab Function.
From Workspace: gemessene Daten (z.B. Lastprofil ) direkt ins Modell laden.
To Workspace: Simulationsergebnisse als Matlab-Variable speichern und weiterverarbeiten.
→ Simulink modelliert, Matlab analysiert.
% Zeitpunkte und Leistungswerte definieren
t = [0, 600, 1200, 1800, 2400, 3600]; % s
P = [50, 200, 800, 400, 100, 0]; % W
% Als timeseries verpacken
lastprofil = timeseries(P, t);
Im From Workspace-Block: Feldname lastprofil eintragen.
Simulink interpoliert zwischen den Stützstellen — der Block gibt bei jedem Zeitschritt den passenden -Wert aus.
Standardform mit :
Euler-Schritt – zwei Akkumulationszeilen, beide mit demselben :
Zwei Akkumulationszeilen → zwei Integratoren:
| Schritt | |
|---|---|
| 1 | DGL nach der höchsten Ableitung auflösen |
| 2 | Integratoren in Reihe zeichnen |
| 3 | Ausgänge benennen: |
| 4 | Rechte Seite als Signalpfad aufbauen |
| 5 | Ergebnis zurück in den ersten Integratoreingang; Anfangswerte einstellen |
Implementieren Sie den harmonischen Oszillator mit , , , in Simulink.
Extraaufgabe: und als Workspace-Variablen definieren.